{% extends 'layout.html' %}

{% block content %}
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">表单</div>
            <div class="panel-body">
                <form id="formAdd">
                    {# {% csrf_token %} #}
                    <div class="clearfix">
                        {% for field in form %}
                            <div class="col-xs-6">
                                <div class="form-group" style="position: relative;margin-bottom: 20px">
                                    <label>{{ field.label }}</label>
                                    {{ field }}
                                    <span class="error-msg" style="color: red; position: absolute"></span>
                                </div>
                            </div>
                        {% endfor %}
                    </div>
                    <div class="col-xs-12">
                        <button id="btnAdd" type="submit" class="btn btn-primary">提交</button>
                    </div>
                </form>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                任务列表
            </div>
            <table class="table table-bordered">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>级别</th>
                    <th>级别</th>
                    <th>负责人</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                {% for obj in queryset %}
                    <tr>
                        <th scope="row">{{ obj.id }}</th>
                        <td>{{ obj.title }}</td>
                        <td>{{ obj.get_level_display }}</td>
                        <td>{{ obj.user.username }}</td>

                        <td>
                            <a class="btn btn-primary btn-xs" href="#">编辑</a>
                            <a class="btn btn-danger btn-xs" href="#">删除</a>
                        </td>
                    </tr>
                {% endfor %}

                </tbody>

            </table>


        </div>
        <ul class="pagination">
            {{ page_string }}
        </ul>
    </div>
    <div style="height: 1000px"></div>
    <hr/>
    <div class="ajax学习">
        <h1>Ajax学习</h1>

        <h3>示例1</h3>
        <input id='btn1' type="button" class="btn btn-primary" value="点击1"/>

        <h3>示例2</h3>
        <input id="txtUser" type="text" placeholder="姓名"/>
        <input id="txtAge" type="text" placeholder="年龄"/>
        <input id="btn2" type="button" class="btn btn-primary" value="点击2"/>

        <h3>示例3</h3>
        <form id="form3">
            <input type="text" name="user" placeholder="姓名"/>
            <input type="text" name="age" placeholder="年龄"/>
            <input type="text" name="email" placeholder="邮箱"/>
            <input type="text" name="more" placeholder="介绍"/>
        </form>
        <input id="btn3" type="button" class="btn btn-primary" value="点击3"/>
    </div>
{% endblock %}

{% block js %}
    <script type="text/javascript">
        $(function () {// 页面框架加载完成之后，代码自动执行
            // ajax学习
            bindBtn1Event();
            bindBtn2Event();
            bindBtn3Event();

            // tasklist
            bindBtnAddEvent();
        })

        // ajax 学习
        function bindBtn1Event() {
            $("#btn1").click(function () {
                $.ajax({
                    url: '/task/ajax/',
                    type: "post",
                    data: {
                        n1: 123,
                        n2: 456,
                    },
                    dataType: "JSON",// res变成JSON格式
                    success: function (res) {
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }

        function bindBtn2Event() {
            $("#btn2").click(function () {
                $.ajax({
                    url: '/task/ajax/',
                    type: "post",
                    data: {
                        name: $("#txtUser").val(),
                        age: $("#txtAge").val(),
                    },
                    dataType: "JSON",// res变成JSON格式
                    success: function (res) {
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }

        function bindBtn3Event() {
            $("#btn3").click(function () {
                $.ajax({
                    url: '/task/ajax/',
                    type: "post",
                    data: $("#form3").serialize(), // 自动从form3获得id
                    dataType: "JSON",// res变成JSON格式
                    success: function (res) {
                        console.log(res);
                        console.log(res.status);
                        console.log(res.data);
                    }
                })
            })
        }

        // tasklist
        function bindBtnAddEvent() {
            $("#btnAdd").click(function () {

                $(".error_msg").empty()// 每次点击之后，有错误信息就显示，没错误信息就置空

                $.ajax({
                    url: '/task/add/',
                    type: "post",
                    data: $("#formAdd").serialize(), // 自动从form3获得id
                    dataType: "JSON",// res变成JSON格式
                    success: function (res) {
                        if (res.status) {
                            // 弹窗提示添加成功
                            alert("添加成功");
                            // js实现页面刷新
                            location.reload();
                        } else {
                            console.log(res.error);// 浏览器控制台显示
                            // 循环获得字典res.error内的，id和错误信息
                            $.each(res.error, function (name, data) {
                                {#console.log(name,data);#}
                                // form生成标签时， 会生成生成字段名id_name
                                // .next()下一个信息，即<span>错误信息
                                // res.error的data是个[],取第0个元素
                                $("#id_" + name).next().text(data[0]);
                            })
                        }
                    }
                })
            })
        }

    </script>
{% endblock %}